package com.crishne.selenium;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

import java.util.Set;
import java.util.concurrent.TimeUnit;

public class SeleniumMylikeCrmTest {
    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver","F:/chromedriver/71.0.3578.80/chromedriver.exe");//chromedriver服务地址
        WebDriver driver =new ChromeDriver(); //新建一个WebDriver 的对象，但是new 的是FirefoxDriver的驱动
        try {
            //登陆
            driver.get("http://172.16.61.213:8001/cas/login?service=http://172.16.61.222:8280/mylike-crm/cas");//打开指定的网站
            Thread.sleep(Long.valueOf(2*1000));
            driver.findElement(By.id("loginName")).sendKeys("shadmin");
            driver.findElement(By.id("password")).sendKeys("123456");
            driver.findElement(By.id("login-in")).click(); //点击按扭

            Thread.sleep(Long.valueOf(2*1000));

            driver.findElement(By.linkText("渠道中心")).click(); //渠道中心;
            Thread.sleep(Long.valueOf(2*1000));
            WebElement wel = driver.findElement(By.className("mainFrmb"));
            driver.switchTo().frame(wel);

            //输入手机号
            driver.findElement(By.id("sous-k")).sendKeys("13555667789");
            //点击搜索
            driver.findElement(By.id("searchBtn")).click();

            Thread.sleep(Long.valueOf(2*1000));

            //继续建档

            driver.findElement(By.xpath("//*[text()='\n" +
                    "          新建该用户\n" +
                    "        ']")).click();

            Thread.sleep(Long.valueOf(2*1000));

            String handelsUrl = driver.getWindowHandle();
            Set<String> handelsUrls = driver.getWindowHandles();
            for(String hads:handelsUrls){
                if(hads != handelsUrl){
                    driver.switchTo().window(hads);
                }
            }

            driver.findElement(By.id("visitorImportId")).sendKeys("111222333");

            Thread.sleep(Long.valueOf(5*1000));
            /**
             * WebDriver自带了一个智能等待的方法。
             dr.manage().timeouts().implicitlyWait(arg0, arg1）；
             Arg0：等待的时间长度，int 类型 ；
             Arg1：等待时间的单位 TimeUnit.SECONDS 一般用秒作为单位。
             */
            driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
        } catch (Exception e) {
            e.printStackTrace();
        }
        /**
         * dr.quit()和dr.close()都可以退出浏览器,简单的说一下两者的区别：第一个close，
         * 如果打开了多个页面是关不干净的，它只关闭当前的一个页面。第二个quit，
         * 是退出了所有Webdriver所有的窗口，退的非常干净，所以推荐使用quit最为一个case退出的方法。
         */
        driver.quit();//退出浏览器
    }
}
